package boundary;
import control.ControladoraCarros;
import control.ControladoraCliente;
import control.ControladoraGrupoCarro;
import control.ControladoraLocacao;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import util.ConexaoException;
import util.MinhaException;
import util.Validador;
public class FrmRegistrarLocacao extends javax.swing.JDialog implements ActionListener{
protected ControladoraLocacao controladoraLocacao = new ControladoraLocacao();
protected ControladoraGrupoCarro controladoraGrupoCarro = new ControladoraGrupoCarro();
protected ControladoraCliente controladoraCliente = new ControladoraCliente();
protected ControladoraCarros controladoraCarros = new ControladoraCarros();
protected Vector clienteTela = new Vector();
protected Vector grupo = new Vector();
protected Vector carro = new Vector();
private double valorInicial;
DecimalFormat dcFormato = new DecimalFormat("#.00");
Vector gc = new Vector();
DefaultComboBoxModel gcarro = new DefaultComboBoxModel();
public FrmRegistrarLocacao() throws ConexaoException {
initComponents();
gc = preencherComboGrupoCarro();
for(int i = 0; i < gc.size(); i++){
gcarro.addElement(gc.elementAt(i));
}
cbGrupoCarro.setModel(gcarro);
this.setLocationRelativeTo(null);
this.dataLocacao.setDate(new Date());
this.dataEntrega.setDate(new Date());
this.dataLocacao.setEnabled(false);
this.bConfirmar.addActionListener(this);
this.bCancelar.addActionListener(this);
}
public Vector preencherComboGrupoCarro() throws ConexaoException{
Vector comboGrupo = new Vector();
try{
comboGrupo = this.controladoraGrupoCarro.obterLinhasGrupoCarro();
}
catch(MinhaException erro)
{
JOptionPane.showMessageDialog(null, erro.getMessage(), "ERRO", JOptionPane.ERROR_MESSAGE);
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, erro.getMessage(), "ERRO", JOptionPane.ERROR_MESSAGE);
}
this.controladoraGrupoCarro.setMarc(0);
this.grupo = this.controladoraGrupoCarro.obterGrupo();
return comboGrupo;
}
public void converteDataVetor(int[] dataInicio, int[] dataFim)
{
Calendar calendarI = Calendar.getInstance();
calendarI.setTime(new Date(this.dataLocacao.getDate().getTime()));
dataInicio[0] = calendarI.get(Calendar.DAY_OF_MONTH);
dataInicio[1] = calendarI.get(Calendar.MONTH);
dataInicio[2] = calendarI.get(Calendar.YEAR);
Calendar calendarF = Calendar.getInstance();
calendarF.setTime(new Date(this.dataEntrega.getDate().getTime()));
dataFim[0] = calendarF.get(Calendar.DAY_OF_MONTH);
dataFim[1] = calendarF.get(Calendar.MONTH);
dataFim[2] = calendarF.get(Calendar.YEAR);
}
public int calcularDatas()
{
int[] dataInicio = new int[3];
int[] dataFim = new int[3];
double diffMillis, diffDays = 0;
converteDataVetor(dataInicio, dataFim);
Calendar dataI = new GregorianCalendar(dataInicio[2], dataInicio[1], dataInicio[0]);
Calendar dataF = new GregorianCalendar(dataFim[2], dataFim[1], dataFim[0]);
if(dataF.before(dataI)){
JOptionPane.showMessageDialog(null, " A data de Entrega não pode ser antes da data de Locação !", "Informação", JOptionPane.INFORMATION_MESSAGE);
}
else{
diffMillis = dataF.getTimeInMillis() - dataI.getTimeInMillis();
diffDays = diffMillis / (24*60*60*1000);
}
int dias = (int) Math.ceil(diffDays);
return dias;
}
public void calcularValor(String tipoDiaria)
{
if(tipoDiaria.equals("Diaria Simples")){
double valor = (Double) this.grupo.get(2);
int diaria = this.calcularDatas();
if(diaria == 0)
diaria = 1;
this.valorInicial = 0;
this.valorInicial = valor * diaria;
String valorFormatado = dcFormato.format(this.valorInicial);
//this.lPrevisao.setText( valorFormatado);
this.tfValorTotal.setText(valorFormatado);
}
else if(tipoDiaria.equals("Diaria Quilometrada")){
double valor = (Double) this.grupo.get(3);
int diaria = this.calcularDatas();
if(diaria == 0)
diaria = 1;
this.valorInicial = 0;
this.valorInicial = valor * diaria;
String valorFormatado = dcFormato.format(this.valorInicial);
//this.lPrevisao.setText( valorFormatado);
this.tfValorTotal.setText(valorFormatado);
}
}
public void setarCarro()
{
if(this.controladoraCarros.getCarros().size() > 0)
{
this.carro = this.controladoraCarros.montarCarroTela(this.controladoraCarros.getCarros().get(this.controladoraCarros.getMarc()));
this.tfCarro.setText(this.carro.get(1).toString());
this.tfPlacaCarro.setText(this.carro.get(2).toString());
this.calcularValor("Diaria Simples");
}
}
public void criarLocacao(Vector locacao)
{
locacao.addElement(this.ftCpf.getText());
locacao.addElement(this.dataLocacao.getDate());
locacao.addElement(this.dataEntrega.getDate());
locacao.addElement(this.carro);
locacao.addElement(this.tfValorTotal.getText());
locacao.addElement(this.clienteTela);
locacao.addElement(this.cbHoraLocacao.getSelectedItem());
locacao.addElement(this.cbHoraEntrega.getSelectedItem());
locacao.addElement(this.tfValorTotal.getText());
locacao.addElement(this.cbCobertura.getSelectedItem());
locacao.addElement(this.cbHoraLocacao.getSelectedItem());
locacao.addElement(this.cbHoraEntrega.getSelectedItem());
if(!this.tfQuilometragem.getText().isEmpty())
locacao.addElement(this.tfQuilometragem.getText());
else
locacao.addElement(0);
locacao.addElement(this.grupo);
locacao.addElement(this.cbPlano.getSelectedItem());
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
bConfirmar = new javax.swing.JButton();
bCancelar = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
lValorTotal = new javax.swing.JLabel();
lMoeda = new javax.swing.JLabel();
tfValorTotal = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel();
cbHoraLocacao = new javax.swing.JComboBox();
lHoraEntrega = new javax.swing.JLabel();
cbHoraEntrega = new javax.swing.JComboBox();
dataLocacao = new com.toedter.calendar.JDateChooser();
lInfoEntrega = new javax.swing.JLabel();
dataEntrega = new com.toedter.calendar.JDateChooser();
lDataEntrega = new javax.swing.JLabel();
lInfoLocacao = new javax.swing.JLabel();
lDataLocacao = new javax.swing.JLabel();
lHoraLocacao = new javax.swing.JLabel();
lGrupoCarro = new javax.swing.JLabel();
cbGrupoCarro = new javax.swing.JComboBox();
tfCarro = new javax.swing.JTextField();
lCarro = new javax.swing.JLabel();
bVisualiza = new javax.swing.JButton();
lPlano = new javax.swing.JLabel();
cbPlano = new javax.swing.JComboBox();
lQuilometragemPrev = new javax.swing.JLabel();
tfQuilometragem = new javax.swing.JTextField();
lInfoKm = new javax.swing.JLabel();
lCobertura = new javax.swing.JLabel();
cbCobertura = new javax.swing.JComboBox();
lPrevisao = new javax.swing.JLabel();
tfPlacaCarro = new javax.swing.JTextField();
jPanel1 = new javax.swing.JPanel();
lEndereco = new javax.swing.JLabel();
lBairro = new javax.swing.JLabel();
tfNumero = new javax.swing.JTextField();
lNumero = new javax.swing.JLabel();
tfEndereco = new javax.swing.JTextField();
tfUf = new javax.swing.JTextField();
lCidade = new javax.swing.JLabel();
tfBairro = new javax.swing.JTextField();
lUf = new javax.swing.JLabel();
tfCidade = new javax.swing.JTextField();
lCpf = new javax.swing.JLabel();
tfNome = new javax.swing.JTextField();
lNome = new javax.swing.JLabel();
lEmail = new javax.swing.JLabel();
lTel = new javax.swing.JLabel();
tfEmail = new javax.swing.JTextField();
tfTel = new javax.swing.JTextField();
ftCpf = new javax.swing.JFormattedTextField();
b_Busca = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("SCC - Locação");
setResizable(false);
bConfirmar.setText("Confirmar");
bCancelar.setText("Cancelar");
jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
lValorTotal.setFont(new java.awt.Font("Tahoma", 0, 14));
lValorTotal.setForeground(new java.awt.Color(255, 0, 0));
lValorTotal.setText("VALOR TOTAL");
lMoeda.setText("R$");
tfValorTotal.setEditable(false);
tfValorTotal.setHorizontalAlignment(javax.swing.JTextField.CENTER);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Dados da Locação", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11), new java.awt.Color(204, 204, 204))); // NOI18N
cbHoraLocacao.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00" }));
lHoraEntrega.setText("Hora");
cbHoraEntrega.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00" }));
lInfoEntrega.setText("Dados da Entrega Prevista");
lDataEntrega.setText("Data");
lInfoLocacao.setText("Locação");
lDataLocacao.setText("Data");
lHoraLocacao.setText("Hora");
lGrupoCarro.setText("Grupo de Carro");
cbGrupoCarro.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cbGrupoCarroItemStateChanged(evt);
}
});
tfCarro.setEnabled(false);
lCarro.setText("Carro");
bVisualiza.setText("Visualizar Carros");
bVisualiza.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bVisualizaActionPerformed(evt);
}
});
lPlano.setText("Plano");
cbPlano.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Diaria Simples", "Diaria Quilometrada" }));
cbPlano.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cbPlanoItemStateChanged(evt);
}
});
lQuilometragemPrev.setText("Quilometagem Prevista");
tfQuilometragem.setEnabled(false);
tfQuilometragem.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
tfQuilometragemFocusLost(evt);
}
});
tfQuilometragem.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
tfQuilometragemKeyPressed(evt);
}
});
lInfoKm.setText("KM");
lCobertura.setText("Cobertura");
cbCobertura.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Não", "Sim" }));
cbCobertura.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cbCoberturaItemStateChanged(evt);
}
});
lPrevisao.setText("");
tfPlacaCarro.setEnabled(false);
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lInfoLocacao)
.addComponent(lDataLocacao)
.addComponent(dataLocacao, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cbHoraLocacao, 0, 120, Short.MAX_VALUE)
.addComponent(lHoraLocacao)))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(lPlano)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 222, Short.MAX_VALUE))
.addComponent(cbPlano, 0, 248, Short.MAX_VALUE)
.addComponent(lGrupoCarro)
.addComponent(cbGrupoCarro, 0, 248, Short.MAX_VALUE))
.addGap(49, 49, 49)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lCarro)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(tfQuilometragem, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(13, 13, 13)
.addComponent(lInfoKm))
.addComponent(lQuilometragemPrev)
.addComponent(tfCarro, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(cbCobertura, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lCobertura, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 63, Short.MAX_VALUE)
.addComponent(lPrevisao, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29))
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(tfPlacaCarro, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(bVisualiza)))))
.addContainerGap(36, Short.MAX_VALUE))
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lInfoEntrega)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lDataEntrega)
.addComponent(dataEntrega, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(17, 17, 17)
.addComponent(lHoraEntrega))
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(cbHoraEntrega, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap())))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(lInfoLocacao)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lDataLocacao)
.addComponent(lHoraLocacao))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cbHoraLocacao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(dataLocacao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(lInfoEntrega)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lDataEntrega)
.addComponent(lHoraEntrega))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(dataEntrega, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbHoraEntrega, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lGrupoCarro)
.addComponent(lCarro))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cbGrupoCarro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bVisualiza)
.addComponent(tfCarro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfPlacaCarro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(27, 27, 27)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lPlano)
.addComponent(lQuilometragemPrev, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lCobertura))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cbPlano, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfQuilometragem, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lInfoKm)
.addComponent(lPrevisao)
.addComponent(cbCobertura, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Dados do Cliente", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11), new java.awt.Color(204, 204, 204))); // NOI18N
lEndereco.setText("Endereço");
lBairro.setText("Bairro");
tfNumero.setEnabled(false);
lNumero.setText("Nº");
tfEndereco.setEnabled(false);
tfUf.setEnabled(false);
lCidade.setText("Cidade");
tfBairro.setEnabled(false);
lUf.setText("UF");
tfCidade.setEnabled(false);
lCpf.setText("CPF");
tfNome.setEnabled(false);
lNome.setText("Nome Completo");
lEmail.setText("E-mail");
lTel.setText("Telefone");
tfEmail.setEnabled(false);
tfTel.setEnabled(false);
try {
ftCpf.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("###.###.###-##")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
}
b_Busca.setText("Buscar Cliente");
b_Busca.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b_BuscaActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lCpf)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
.addComponent(ftCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(b_Busca))
.addComponent(lNome, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tfNome, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lCidade)
.addComponent(tfCidade, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lUf)
.addComponent(tfUf, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(tfEmail, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 310, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lEndereco)
.addComponent(tfEndereco, javax.swing.GroupLayout.DEFAULT_SIZE, 273, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lNumero)
.addComponent(tfNumero, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(lEmail)
.addGap(139, 139, 139)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lTel)
.addComponent(tfTel)
.addComponent(tfBairro, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(lBairro))))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(tfBairro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(lEndereco)
.addGap(26, 26, 26))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(lCpf)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(ftCpf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(b_Busca))
.addGap(18, 18, 18)
.addComponent(lNome))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lNumero)
.addComponent(lBairro)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfNumero, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lEmail)
.addComponent(lTel)
.addComponent(lUf))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfUf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfTel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(lCidade)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(23, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel3, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(lValorTotal)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 97, Short.MAX_VALUE)
.addComponent(lMoeda)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(tfValorTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 480, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lValorTotal)
.addComponent(tfValorTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lMoeda))
.addContainerGap(24, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(bCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(bConfirmar, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bConfirmar)
.addComponent(bCancelar))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void cbGrupoCarroItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbGrupoCarroItemStateChanged
this.controladoraGrupoCarro.setMarc(this.cbGrupoCarro.getSelectedIndex());
this.grupo = this.controladoraGrupoCarro.obterGrupo();
}//GEN-LAST:event_cbGrupoCarroItemStateChanged
private void bVisualizaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bVisualizaActionPerformed
SimpleDateFormat form = new SimpleDateFormat("dd/MM/yyyy");
String locacao = form.format(this.dataLocacao.getDate());
String entrega = form.format(this.dataEntrega.getDate());
java.sql.Date dataL = null;
java.sql.Date dataE = null;
try
{
dataL = new java.sql.Date(form.parse(locacao).getTime());
dataE = new java.sql.Date(form.parse(entrega).getTime());
if(dataE.before(dataL)){
JOptionPane.showMessageDialog(null, " A data de Entrega não pode ser antes da data de Locação !", "Informação", JOptionPane.INFORMATION_MESSAGE);
this.dataEntrega.setDate(new Date());
}
else
{
try {
JDialog janela = new FrmVisualizaCarros(null, true, grupo, dataL, dataE, this.controladoraCarros);
} catch (ConexaoException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
}
this.setarCarro();
}
}
catch(ParseException erro){
erro.getMessage();
}
}//GEN-LAST:event_bVisualizaActionPerformed
private void cbPlanoItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbPlanoItemStateChanged
if(this.cbPlano.getSelectedItem().toString().equals("Diaria Quilometrada") && this.cbCobertura.getSelectedItem().toString().equals("Sim"))
{
this.tfQuilometragem.setEnabled(true);
this.calcularValor("Diaria Quilometrada");
this.calculaComCombertura();
}
else if(this.cbPlano.getSelectedItem().toString().equals("Diaria Quilometrada"))
{
this.tfQuilometragem.setEnabled(true);
this.calcularValor("Diaria Quilometrada");
}
else if(this.cbPlano.getSelectedItem().toString().equals("Diaria Simples") && this.cbCobertura.getSelectedItem().toString().equals("Sim"))
{
this.tfQuilometragem.setEnabled(false);
this.tfQuilometragem.setText("");
this.calcularValor("Diaria Simples");
this.calculaComCombertura();
}
else if(this.cbPlano.getSelectedItem().toString().equals("Diaria Simples"))
{
this.tfQuilometragem.setEnabled(false);
this.tfQuilometragem.setText("");
this.calcularValor("Diaria Simples");
}
}//GEN-LAST:event_cbPlanoItemStateChanged
private void tfQuilometragemFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_tfQuilometragemFocusLost
if(this.tfQuilometragem.getText().isEmpty())
JOptionPane.showMessageDialog(null, "Você deve indicar uma quilometragem base", "Informação", JOptionPane.INFORMATION_MESSAGE);
else
{
int quilometragem = Integer.parseInt(this.tfQuilometragem.getText());
int diaria = this.calcularDatas();
if(diaria == 0)
diaria = 1;
double dQuilometrada = this.controladoraGrupoCarro.getVetGrupos().get(this.controladoraGrupoCarro.getMarc()).getPrecoDiariaQuilometrada();
double adciQ = this.controladoraGrupoCarro.getVetGrupos().get(this.controladoraGrupoCarro.getMarc()).getPrecoQuilometroAdicional();
this.valorInicial = (dQuilometrada * diaria) + (adciQ * quilometragem);
String valorFomatado = dcFormato.format(this.valorInicial);
//this.lPrevisao.setText(valorFomatado);
this.tfValorTotal.setText(valorFomatado);
}
}//GEN-LAST:event_tfQuilometragemFocusLost
public void calculaComCombertura(){
double cobertura = this.controladoraGrupoCarro.getVetGrupos().get(this.controladoraGrupoCarro.getMarc()).getPrecoCobertura();
double total = this.valorInicial + cobertura;
String valorFormatado = dcFormato.format(total);
this.tfValorTotal.setText(valorFormatado);
}
private void cbCoberturaItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbCoberturaItemStateChanged
if(this.cbCobertura.getSelectedItem().toString().equals("Sim")){
this.calculaComCombertura();
}
else{
if(this.cbPlano.getSelectedItem().toString().equals("Diaria Simples")){
this.tfQuilometragem.setEnabled(false);
this.tfQuilometragem.setText("");
this.calcularValor("Diaria Simples");
}
else{
this.tfQuilometragem.setText("");
this.tfQuilometragem.setEnabled(true);
this.calcularValor("Diaria Quilometrada");
}
}
}//GEN-LAST:event_cbCoberturaItemStateChanged
public void confereCpf() throws ConexaoException{
String cpf = this.ftCpf.getText();
Validador valida = new Validador();
cpf = valida.tiraPontosCPF(cpf);
if (cpf.length() < 11) {
JOptionPane.showMessageDialog(null, "Digite o CPF corretamente", "Informação", JOptionPane.INFORMATION_MESSAGE);
}
else
{
if (valida.validarCPF(cpf)) {
try {
this.clienteTela = this.controladoraCliente.obterCliente(cpf);
this.tfNome.setText(this.clienteTela.get(1).toString());
this.tfEndereco.setText(this.clienteTela.get(4).toString());
this.tfNumero.setText(this.clienteTela.get(5).toString());
this.tfBairro.setText(this.clienteTela.get(6).toString());
this.tfCidade.setText(this.clienteTela.get(11).toString());
this.tfUf.setText(this.clienteTela.get(12).toString());
this.tfEmail.setText(this.clienteTela.get(7).toString());
this.tfTel.setText(this.clienteTela.get(8).toString());
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null, erro.getMessage(), "ERRO", JOptionPane.ERROR_MESSAGE);
this.ftCpf.setText("");
}
catch (MinhaException erro)
{
JOptionPane.showMessageDialog(null, erro.getMessage(), "ERRO", JOptionPane.ERROR_MESSAGE);
this.ftCpf.setText("");
}
}
else
{
JOptionPane.showMessageDialog(null, "CPF não encontrado", "Erro", JOptionPane.ERROR_MESSAGE);
this.ftCpf.setText("");
}
}
}
private void b_BuscaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_BuscaActionPerformed
try {
this.confereCpf();
} catch (ConexaoException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "ERRO", JOptionPane.ERROR_MESSAGE);
}
}//GEN-LAST:event_b_BuscaActionPerformed
private void tfQuilometragemKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tfQuilometragemKeyPressed
if(evt.getKeyCode() == KeyEvent.VK_ENTER)
this.tfQuilometragemFocusLost(null);
}//GEN-LAST:event_tfQuilometragemKeyPressed
// Variables declaration - do not modify//GEN-BEGIN:variables
protected javax.swing.JButton bCancelar;
protected javax.swing.JButton bConfirmar;
private javax.swing.JButton bVisualiza;
private javax.swing.JButton b_Busca;
protected javax.swing.JComboBox cbCobertura;
protected javax.swing.JComboBox cbGrupoCarro;
protected javax.swing.JComboBox cbHoraEntrega;
protected javax.swing.JComboBox cbHoraLocacao;
protected javax.swing.JComboBox cbPlano;
protected com.toedter.calendar.JDateChooser dataEntrega;
protected com.toedter.calendar.JDateChooser dataLocacao;
protected javax.swing.JFormattedTextField ftCpf;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel lBairro;
private javax.swing.JLabel lCarro;
private javax.swing.JLabel lCidade;
private javax.swing.JLabel lCobertura;
private javax.swing.JLabel lCpf;
private javax.swing.JLabel lDataEntrega;
private javax.swing.JLabel lDataLocacao;
private javax.swing.JLabel lEmail;
private javax.swing.JLabel lEndereco;
private javax.swing.JLabel lGrupoCarro;
private javax.swing.JLabel lHoraEntrega;
private javax.swing.JLabel lHoraLocacao;
private javax.swing.JLabel lInfoEntrega;
private javax.swing.JLabel lInfoKm;
private javax.swing.JLabel lInfoLocacao;
private javax.swing.JLabel lMoeda;
private javax.swing.JLabel lNome;
private javax.swing.JLabel lNumero;
private javax.swing.JLabel lPlano;
private javax.swing.JLabel lPrevisao;
private javax.swing.JLabel lQuilometragemPrev;
private javax.swing.JLabel lTel;
private javax.swing.JLabel lUf;
private javax.swing.JLabel lValorTotal;
protected javax.swing.JTextField tfBairro;
protected javax.swing.JTextField tfCarro;
protected javax.swing.JTextField tfCidade;
protected javax.swing.JTextField tfEmail;
protected javax.swing.JTextField tfEndereco;
protected javax.swing.JTextField tfNome;
protected javax.swing.JTextField tfNumero;
protected javax.swing.JTextField tfPlacaCarro;
protected javax.swing.JTextField tfQuilometragem;
protected javax.swing.JTextField tfTel;
protected javax.swing.JTextField tfUf;
protected javax.swing.JTextField tfValorTotal;
// End of variables declaration//GEN-END:variables
public boolean validaCampos() {
if(!this.ftCpf.getText().isEmpty()){
String cpf = this.ftCpf.getText();
Validador valida = new Validador();
cpf = valida.tiraPontosCPF(cpf);
if (!cpf.isEmpty() || cpf.length() == 11)
if (!this.tfCarro.getText().isEmpty())
if ((this.cbPlano.getSelectedItem().toString().equals("Diaria Simples")) || ((this.cbPlano.getSelectedItem().toString().equals("Diaria Quilometrada") && !this.tfQuilometragem.getText().isEmpty())))
if (!this.tfValorTotal.getText().isEmpty())
return true;
else
JOptionPane.showMessageDialog(null, "O Valor não pode estar Zerado", "Informação", JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(null, "Insira a Quantidade de quilometros", "Informação", JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(null, "Escolha um carro", "Informação", JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(null, "Digite o CPF corretamente", "Informação", JOptionPane.INFORMATION_MESSAGE);
}
else
JOptionPane.showMessageDialog(null, "Informe o CPF corretamente", "Informação", JOptionPane.INFORMATION_MESSAGE);
return false;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == this.bConfirmar){
if (dataEntrega.getDate().before(dataLocacao.getDate())) {
JOptionPane.showMessageDialog(null, " A data de Entrega não pode ser antes da data de Locação !", "Informação", JOptionPane.INFORMATION_MESSAGE);
this.dataEntrega.setDate(new Date());
} else {
if (this.validaCampos()) {
Vector locacao = new Vector();
this.criarLocacao(locacao);
try
{
try {
this.controladoraLocacao.inserirLocacao(locacao);
} catch (ConexaoException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
}
this.dispose();
}
catch (MinhaException erro) {
JOptionPane.showMessageDialog(null, erro.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
}
catch (SQLException erro) {
JOptionPane.showMessageDialog(null, erro.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
}
catch (ParseException erro) {
JOptionPane.showMessageDialog(null, erro.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
}
}
}
}
else if (e.getSource() == this.bCancelar){
this.dispose();
}
}
}